package cn.xopencode.scoreservice.service.demand;

import cn.xopencode.common.framework.vo.PageResult;
import cn.xopencode.score.api.rpc.demand.dto.ScoreDetailsRespDTO;
import cn.xopencode.score.api.rpc.demand.dto.ScoreReqDTO;
import cn.xopencode.score.api.rpc.demand.dto.ScoreRespDTO;

import java.util.List;


public interface ScoreService {

    /**
     *
     * @return 积分列表
     */
    List<ScoreRespDTO> pageScore();

    /**
     *
     * @param scoreReqDTO 根据日期查询
     * @return  返回积分列表
     */
    PageResult<ScoreRespDTO> pageDateScore(ScoreReqDTO scoreReqDTO);

    /**
     *
     * @param empId 个人ID
     * @return  返回个人积分详情
     */
    ScoreDetailsRespDTO getDetailsScore(String empId);

    /**
     * 创新与合理化建议
     * @param empId 员工编号
     * @param suggestScore 修改的分数
     * @return
     */
    Double addSuggestScore(String empId,Double suggestScore);

    /**
     * 安全活动与技能比武情况
     * @param empId 员工编号
     * @param activityScore 修改的分数
     * @return
     */
    Double addActivityScore(String empId, Double activityScore);

    /**
     * 反三违
     * @param empId 员工编号
     * @param violateScore 修改的分数
     * @return
     */
    void updateViolateScore(String empId, Double violateScore);

    /**
     * 反三违
     * @param empId 员工编号
     * @return
     */
    void clearViolateScore(String empId);
}
